#include <SDL2/SDL.h>

//The application time based timer
/*
定时器类。该类具有启动/停止/暂停/取消定时器以及检查其状态的所有基本功能。
在数据成员方面，有开始时间，一个变量用于存储暂停时的时间，还有状态标志用于跟踪定时器是在运行还是暂停。
*/
class LTimer
{
    public:
        //Initializes variables
        LTimer();

        //The various clock actions
        void start();
        void stop();
        void pause();
        void unpause();

        //Gets the timer's time
        Uint32 getTicks();

        //Checks the status of the timer
        bool isStarted();
        bool isPaused();

    private:
        //The clock time when the timer started
        Uint32 mStartTicks;

        //储存当前定时器运行了多长时间
        Uint32 mPausedTicks;

        //The timer status
        bool mPaused;
        bool mStarted;
};
